home *** CD-ROM | disk | FTP | other *** search
/ SPACE 1 / SPACE - Library 1 - Volume 1.iso / program / 441 / vdisrc12 / vdiescp2.s < prev    next >
Text File  |  1990-11-23  |  5KB  |  147 lines

  1.  
  2. ;*========================================================================
  3. ;*
  4. ;* VDIFAST Public Domain VDI bindings.
  5. ;*
  6. ;*========================================================================
  7.  
  8.           .iif      !(^^macdef VContrl),.include  "vdimacro.s"
  9.                     
  10. ;*************************************************************************
  11. ;*
  12. ;* Escape functions 2.
  13. ;*  The rest of the escape functions.
  14. ;*************************************************************************
  15.  
  16. ;*-----------------------------------------------------------------------
  17. ;* Inquire addressable alpha character cells.  Right.
  18. ;*-----------------------------------------------------------------------
  19.  
  20. _vq_chcells::
  21.           .cargs    #8,.handle.w,.rows.l,.columns.l
  22.           link      a6,#-4
  23.  
  24.           VContrl   #5,#1
  25.           
  26.           subq.l    #4,sp               ;* -> ptsout
  27.           pea       -4(a6)              ;* -> intout 
  28.           subq.l    #8,sp               ;* -> intin
  29.           pea       16(sp)              ;* -> contrl
  30.  
  31.           moveq.l   #$73,d0
  32.           move.l    sp,d1
  33.           trap      #2
  34.  
  35.           move.l    .rows(a6),a0
  36.           move.w    -4(a6),(a0)         ;* Return rows.
  37.           move.l    .columns(a6),a0
  38.           move.w    -2(a6),(a0)         ;* Return columns.
  39.  
  40.           unlk      a6
  41.           rts
  42.  
  43. ;*-----------------------------------------------------------------------
  44. ;* Direct alpha cursor address.
  45. ;*-----------------------------------------------------------------------
  46.  
  47. _vs_curaddress::
  48.           .cargs    #8,.handle.w,.row.w,.col.w
  49.           link      a6,#0
  50.  
  51.           VContrl   #5,#1,,#2
  52.           
  53.           lea       -12(sp),sp
  54.           pea       .row(a6)            ;* -> intin
  55.           pea       16(sp)              ;* -> contrl
  56.  
  57.           jmp       vdicall
  58.           
  59. ;*-----------------------------------------------------------------------
  60. ;* Inquire current alpha cursor address.
  61. ;*-----------------------------------------------------------------------
  62.  
  63. _vq_curaddress::
  64.  
  65.           .cargs    #8,.handle.w,.row.l,.col.l
  66.           link      a6,#-4
  67.  
  68.           VContrl   #5,#15
  69.           
  70.           subq.l    #4,sp               ;* -> ptsout
  71.           pea       -4(a6)              ;* -> intout 
  72.           subq.l    #8,sp               ;* -> intin
  73.           pea       16(sp)              ;* -> contrl
  74.  
  75.           moveq.l   #$73,d0
  76.           move.l    sp,d1
  77.           trap      #2
  78.  
  79.           move.l    .row(a6),a0
  80.           move.w    -4(a6),(a0)         ;* Return row.
  81.           move.l    .col(a6),a0
  82.           move.w    -2(a6),(a0)         ;* Return column.
  83.  
  84.           unlk      a6
  85.           rts
  86.           
  87. ;*-----------------------------------------------------------------------
  88. ;* Place graphic cursor at location.
  89. ;*-----------------------------------------------------------------------
  90.  
  91. _v_dspcur::
  92.           .cargs    #8,.handle.w,.x.w,.y.w
  93.           link      a6,#0
  94.           
  95.           VContrl   #5,#15,#1
  96.           
  97.           subq.l    #8,sp               ;* -> intout 
  98.           pea       .x(a6)              ;* -> ptsin
  99.           pea       16(sp)              ;* -> contrl
  100.  
  101.           jmp       vdicall
  102.  
  103. ;*-----------------------------------------------------------------------
  104. ;* Output window contents to printer. (Or something like that).
  105. ;*-----------------------------------------------------------------------
  106.  
  107. _v_output_window::
  108.           .cargs    #8,.handle.w,.pxy.l
  109.           link      a6,#0
  110.           
  111.           VContrl   #5,#21,#2
  112.           
  113.           subq.l    #8,sp
  114.           move.l    .pxy(a6),-(sp)      ;* -> ptsin
  115.           subq.l    #4,sp               ;* -> intin
  116.           pea       16(sp)              ;* -> contrl
  117.  
  118.           jmp       vdicall
  119.  
  120. ;*-----------------------------------------------------------------------
  121. ;* Output bit image file.  Not supported in this release.
  122. ;*-----------------------------------------------------------------------
  123.  
  124. ;*-----------------------------------------------------------------------
  125. ;* Select pallete.  This has something to do with IBMPC screens...
  126. ;*-----------------------------------------------------------------------
  127.  
  128. _vs_palette::
  129.           .cargs    #8,.handle.w,.palette.w
  130.           link      a6,#0
  131.           VContrl   #5,#60,,#1
  132.           
  133.           lea       -12(sp),sp
  134.           pea       .palette(a6)        ;* -> intin
  135.           pea       16(sp)              ;* -> contrl
  136.  
  137.           jmp       vdicall
  138.           
  139. ;*-----------------------------------------------------------------------
  140. ;* NOTE:
  141. ;*  You can stop looking here.  The Poloroid Palette Driver and Metafile
  142. ;*  escape calls are not supported in this release.
  143. ;*-----------------------------------------------------------------------
  144.  
  145. ;*        end of code
  146.  
  147.